<?php 

class usuariosController extends CController{
    public $model_name = "usuario/login";

    public function AfterLoad() {
        parent::AfterLoad();
        if(CURRENT_ACTION == "perfil" || CURRENT_ACTION == "editar"){
            if($this->cod == "") $this->cod = $this->model->getCodUsuario();
            if($this->cod == $this->model->getCodUsuario()){
                if(CURRENT_ACTION == "perfil") $arr["Editar Perfil"] = "usuario/login";
                if(CURRENT_ACTION == "editar") $arr["Voltar ao Perfil"] = "ocorrencia/usuarios/perfil/";
            }
        }else $arr["Meu perfil"] = "ocorrencia/usuarios/perfil/";
        
        if($this->model->UserIsAdmin()){
            if(CURRENT_ACTION != "all")$arr["Administrar usuários"] = "ocorrencia/usuarios/all";
            if(CURRENT_ACTION != "formulario" && CURRENT_ACTION == "all")$arr["Novo usuário"] = 'ocorrencia/usuarios/formulario';
        }
        
        if(!empty ($arr)){
            $this->LoadJsPlugin('menu/multiple', 'menu_sec_obj');
            $this->menu_sec_obj->imprime();
            $var = $this->menu_sec_obj->draw($arr);
            EventTube::addEvent("body-top", $var);
        }
    }
    
    public function perfil(){
        $this->LoadModel(LINK, 'model');
        $perfil = $this->model->LoadPerfil($this->cod);
        $this->registerVar('perfil', $perfil);
        if(array_key_exists('dados', $perfil)){
            if(array_key_exists('user_name', $perfil['dados']['cod_usuario']))
                $this->genTags($perfil['dados']['cod_usuario']['user_name']);
            else $this->genTags($perfil['dados']['cod_usuario']['email']);
        }
        $this->display(LINK.'/perfil');
    }
    /*
    public function status(){
        $this->LoadModel(LINK, 'model');
        $arr = array('solicitadas', 'unread', 'atraso');
        $function = isset($this->vars[1])?$this->vars[1]:"";
        if($function == "") Redirect (LINK. '/perfil');
        $page = isset($this->vars[2])?$this->vars[2]:0;
        $var = $this->model->status($function, $page);
        print_r($var);
    }*/
    
    public function all(){
        $this->LoadModel('usuario/login', 'uobj');
        if(!$this->uobj->UserIsAdmin()) throw new AcessDeniedException();
        $nome = CURRENT_CONTROLLER;
        $this->variaveis['actions'] = array();
        if($nome == 'index') $nome = CURRENT_MODULE;
        $this->genTags("Gerenciar Usuários");
        $this->display(LINK."/index");
    }
    
    public function index($display = true, $link = "") {
        Redirect(LINK ."/perfil");
        $page = isset($this->vars[0])?$this->vars[0]:0;
        $this->LoadModel(LINK, 'model');
        $this->registerVar("item", $this->model->LoadPerfis($page));
        $this->registerVar("comp_action" , 'listar');
        $this->registerVar("show_links"  , '');
        $this->genTags("Todos os perfis");
        $this->display("admin/auto/areacliente/page");
    }
    
    public function formulario($display = true, $link = ""){
        
        if(!$this->model->UserIsAdmin()) Redirect ('ocorrencia/usuarios/editar');
        
        $link = ($link == "")? "admin/auto/formulario":$link;
        $nome = CURRENT_CONTROLLER;
        if($nome == 'index') $nome = CURRENT_MODULE;
        $this->genTags("Novo Usuário");
        
        $id = array_shift($this->vars);
        $status = "";
        if(!empty ($_POST)){
            if($id == "") {$status = $this->model->inserir($_POST); $this->genTags("Inserindo Dados");}
            else          {$status = $this->model->editar($id, $_POST); $this->genTags("Editando Dados"); }
            
            $vars = $this->model->getMessages();
            if(array_key_exists('ajax', $_REQUEST) && $_REQUEST['ajax']) $vars['status'] = ($status == true)? 1:0;
            $this->setVars($vars);
        }
        
        $dados = $this->model->getDados();
        $cod = $this->model->getCodUsuario();
        if($id != ""){
            if($cod != $id) unset($dados['senha']);
            else unset($dados['permissao']);
        }
        $this->registerVar('dados', $dados);
        $formulario = ($id == "")?"":$this->model->getItem($id);
        
        
        if(!array_key_exists('ajax', $_REQUEST)) $this->registerVar('values', $formulario);
        elseif(!$_REQUEST['ajax'])               $this->registerVar('values', $formulario);
        if($display) $this->display($link);
    }
    
    public function editar(){
        if(!$this->model->IsLoged()) Redirect("ocorrencia/usuario/all");
        Redirect("usuario/login");
    }
    
}
?>